MFC笔记 您所在的位置:网站首页 统计字数 函数 MFC笔记

MFC笔记

2023-07-28 07:35| 来源: 网络整理| 查看: 265

国际惯例,先贴代码在解释代码。本次界面如下,怎么创建工程就不说了。

void CMFCApplication2Dlg::OnBnClickedButtonCount() { // TODO: Add your control notification handler code here CString strInput; GetDlgItemText(IDC_EDIT_INPUT,strInput); int nLen = strInput.GetLength(); CString strOutPut; strOutPut.Format(_T("字符串长度:%d, 字符个数: %d"),nLen,nLen); SetDlgItemText(IDC_STATIC_OUTPUT,strOutPut); } void CMFCApplication2Dlg::OnBnClickedButtonClear() { // TODO: Add your control notification handler code here CString str; int nLen = 0; str.Format(_T("字符串长度:%d, 字符个数: %d"),nLen,nLen); SetDlgItemText(IDC_STATIC_OUTPUT, str); CString sstr; SetDlgItemText(IDC_EDIT_INPUT,sstr); }

注解:

MFC虽然使用C++语法但是好多细节问题和C++有所不同,MFC之所以比较好用个人认为就是微软设计的类库比较强大,基本上能用到了全都有。

第一个细节问题:

MFC使用的字符串是CString,这个字符串是不可以随便赋值的,比如CString str = "1";是不被允许的,个人理解是这个字符串是标准C++字符串,和MFC的不一样,

第二个细节:CString.Format()

这个理解成类型转换比较好,放一篇博文  https://blog.csdn.net/wangkaishou/article/details/5846152 讲的很详细。

对于_t和L :

_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。

可以参考博文:https://blog.csdn.net/u010003835/article/details/47606621

第三个细节:库函数真的好用

GetDlgItemText(IDC_EDIT_INPUT,strInput);

SetDlgItemText(IDC_STATIC_OUTPUT,strOutPut);

从函数名字就知道这个API是干什么的,例如Get是获取,set是写入,Dlg是界面ItemText是选择文本,其中的第一个参数就是控件的ID,第二个参数是存储变量。

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有